<?php
/*

*/
include '../include/init.php';

//判断是否非法访问
if(!isset($_POST['acc'])||trim($_POST['acc'])!=md5('welcome'))
{
	die('ACC Deny');
}


$uid=trim($_POST['u']);

$group=new groupModel();
$user=new userModel();
$th=new themeModel();
$frd=new frdModel();
$tg=new talkgroupModel();
$dis=new discusModel();
$cm=new cometModel();
$rc=new recentcontactModel();
$mi=new msgindexModel();


$allmsg=array();



//获取所有最近联系人

$last=array();
$rcs=$rc->get($uid);

/*
根据最近联系人查找最近联系的信息
如果有来自该联系人的最新信息，则不用获取
如果没有，则获取最新已读的一条
*/
if(!empty($rcs))
{
	//替换拼接成数组
	$rc_array=explode(',',trim($rcs,','));
	foreach($rc_array as $v)
	{
		$tv=explode(':',$v);
		//var_dump($tv);
		//echo $tv[0].'='.$tv[1];
		$temp=array();
		$temp['id']=$tv[1];
		$temp['type']=$tv[0];
		if($tv[0]=='frd')//好友消息
		{
			$readnum=$cm->getnum($uid,$tv[1]);
			if($readnum>0)
			{
				$temp['laststr']='';
				$temp['time']='';
			}
			else
			{
				$acm=$cm->getlast($uid,$tv[1]);
				$temp['laststr']=$acm['content'];
				$temp['time']=$acm['time'];
			}
			
		}
		else if($tv[0]=='grp')//群消息
		{
		}
		else if($tv[0]=='dis')//讨论组消息
		{
		}
		else if($tv[0]=='photo')//好友照片
		{
		}
		else if($tv[0]=='validate')//验证消息
		{
			$readnum=$addfrd->getnum($uid);
			if($readnum>0)
			{
				$temp['laststr']='';
				$temp['time']='';
			}
			else
			{
				$addfrd=new addfrdModel();
				$l=$addfrd->getlast($uid);
				$fname=$user->getone($uid,'name');
				$isfrd=$frd->bothfrd($uid,$l['ownid']);
				
				if($isfrd==0||$isfrd==2)
				{
					$temp['laststr']=$fname.'申请添加你为好友';
				}
				else if($isfrd==1||$isfrd==3)
				{
					$temp['laststr']=$fname.'已通过验证并添加你为好友';
				}
				$temp['time']=$l['time'];
			}
			
		}
		else if($tv[0]=='grpsys')//群系统消息
		{

		}
		else if($tv[0]=='zone')//空间提醒
		{

		}
		else if($tv[0]=='frdrem')//好友推荐
		{

		}
		else if($tv[0]=='grprem')//群推荐
		{

		}
		else if($tv[0]=='frdbirthremind')//好友生日提醒
		{

		}


		$last[]=$temp;
	}
}
$allmsg['last']=$last;

$allmsg['laststr']=$rcs;






//获取用户主题设置

$theme=$th->getUsertheme($uid);
$allmsg['theme']=$theme;


//获取好友组列表
$gps=$group->getGrps($uid);
$allmsg['gps']=$gps;



//获取所有好友
$frds=$frd->getbyuid($uid);
$frdlist=array();
if($frds)
{
	foreach($frds as $v)
	{
		//批量获取好友原昵称
		//$v['nick']=$user->getname($v['frdid']);
		
		$frdinfo=$user->getinfo($v['frdid']);

		$v=array_merge($v,$frdinfo);

		$frdlist[]=$v;
	}
}
$allmsg['frdlist']=$frdlist;


//获取用户加入的所有群

$grps=$tg->getusrgrp($uid);
$allmsg['groups']=$grps;



//获取用户加入的所有讨论组

$discus=$dis->getusrdiscus($uid);
$allmsg['discus']=$discus;


//所有获取到的消息均存入此数组
$msg_all=array();

//获取所有未读好友信息

$rs=$cm->allnotread($uid);
if(!empty($rs))
{
	$cm=array();
	foreach($rs as $v)
	{
		$v['time']=Date('Y/m/d,H:i:s',$v['time']);
		$cm[]=$v;
	}
	$rs=$cm;
}
$msg_all['cm']=$rs;

//获取用户所有群发信息读取表

if($grps)
{
	$arr=array();
	foreach($grps as $v)
	{
		$arr[]=$v['id'];
	}
	$gmis=$mi->getsomeindex($uid,'group',$arr);
	
	$gc=new group_cometModel();


	$grpmsg=array();
	
	foreach($gmis as $v)
	{
		$k=array();
		$k['id']=$v['senderid'];
		//获取群组最新的且未读的10条信息
		$k['msg']=$gc->get10($v['senderid'],$v['readid']);
		//获取未读消息数和最新群消息id
		$count_max=$gc->getcountandmax($v['senderid'],$v['readid']);
		$k['count']=$count_max['count'];
		$k['max']=$count_max['maxid'];
		//更新设置已读消息id
		$gc->setindex($uid,$v['senderid'],'group',$k['max']);
		$grpmsg[]=$k;
		
	}
	$msg_all['grpmsg']=$grpmsg;
	
}

$allmsg['msg_all']=$msg_all;





//获取所有消息读取id
$mis=$mi->getallindex($uid);
$allmsg['mi']=$mis;






/*//接收所有系统消息
$sys=new sysmsgsModel();
$arrsys=$sys->readAll($uid);
$allmsg['sys']=$arrsys;
*/






echo json_encode($allmsg);
